package com.znxs.api_management_c.service;

import com.znxs.api_management_c.common.BaseResponse;
import com.znxs.api_management_c.common.ResultUtils;
import com.znxs.api_management_c.model.DTO.ApiInfoUploadRequest;
import com.znxs.api_management_c.model.VO.ApiInfoVO;
import com.znxs.api_management_c.model.entity.ApiInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author znxs
* @description 针对表【api_info】的数据库操作Service
* @createDate 2024-07-03 14:26:16
*/
public interface ApiInfoService extends IService<ApiInfo> {

    // 查询所有api信息
    List<ApiInfoVO>  listApiInfo();

    /**
     * 搜索api信息
     * @param searchTag 搜索关键字
     * @return
     */
    List<ApiInfoVO>  searchApiInfo(String searchTag);

    /**
     * 对api接口信息进行封装，并且附上用户名称
     * @param apiInfos 原api接口list
     * @return
     */
    List<ApiInfoVO>  apiInfoToApiInfoVOWithUsername(List<ApiInfo> apiInfos);

    /**
     * 上传api接口
     * @param apiInfoUploadRequest api接口请求类
     * @param request http请求
     * @return 上传请求结果
     */
    int apiUpload(ApiInfoUploadRequest apiInfoUploadRequest, HttpServletRequest request);
}
